The present invention relates to providing services, such as business transactions, e-commerce or other services, over a network, such as the Internet or other network, and more particularly to non-intrusive monitoring of services in a services-oriented architecture (SOA) or similar system.
Increasingly, services, such as business transactions, e-commerce, banking and other services are being provided over a system that may include a network, such as the Internet or other private or dedicated network. Such systems may include multiple resources, for example, servers, computer systems, databases or other resources for providing different services. The multiple resources and network may define a service-oriented architecture (SOA). In addition to e-commerce, other examples of a SOA may include different departments within an organization, such as billing, procurement, credit card check, insurance calculation or other services or resources that may be provided electronically over a network. An application can be put together including different services being available, such as those described above. Additionally, the respective services can be parts of different applications.
In a SOA environment, the responsibility, burden, or need for monitoring the services or resources and events from the resources may fall on the consumers of the services rather than the providers of the services. A service may be monitored by instrumentation of the service or application of agents or software modules deployed to monitor particular aspects of the service or particular resources used by the service. Instrumentation of a service in a SOA may prove difficult for a number of different reasons. Use of agents is intrusive on the service. Instrumentation of different services in a consistent manner to provide consistent behavior can be challenging. The administrative overhead associated with servicing management related queries and methods from multiple management consumers can have an effect on the operational performance of the service. Additionally, a service may participate in multiple composite applications. Management behavior associated with each of these composite applications may place an overhead burden on the service.
Known systems or products claiming to provide monitoring of SOA services rely on agents that monitor these services individually and provide relevant data to a management application. However, these systems do not consider the above challenges nor do they provide solutions for the same. The focus of these products has largely been on controlled, substantially static environments where service invocations and invocation paths are highly deterministic. While SOA services haven't widely gotten to the point of being very complex and dynamic, such a complex scenario may not be very far in the future. Additionally, while the agents of these known systems or products provide service level metrics they do not provide resource level metrics without being intrusive on the service end. While intelligent Level 3 routers or the like are available, they do not provide routing or intelligence specific to the domain of resource monitoring, event management and problem determination.